package com.mrzhou.data.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * redis 锁注解
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RedisLock {

    /**
     * 锁的key
     */
    String key();

    /**
     * 获取锁的等待时间
     */
    int waitTime() default 60;

    /**
     * 持有锁的时间，超时后自动释放锁
     */
    int leaseTime() default 60;

    /**
     * 时间单位，默认设置秒
     */
    TimeUnit unit() default TimeUnit.SECONDS;

}
